home *** CD-ROM | disk | FTP | other *** search
/ Aminet 34 / Aminet 34 (2000)(Schatztruhe)[!][Dec 1999].iso / Aminet / util / gnu / unixcmds.lha / unixcmds / src / banner.c < prev    next >
Encoding:
C/C++ Source or Header  |  1999-10-06  |  7.4 KB  |  153 lines

  1. /* banner - print a banner              Author: Brian Wallis */
  2.  
  3. /*****************************************************************
  4.  *
  5.  * SYSVbanner.c
  6.  *
  7.  * This is a PD version of the SYS V banner program (at least I think
  8.  * it is compatible to SYS V) which I wrote to use with the clock
  9.  * program written by:
  10.  **     DCF, Inc.
  11.  **     14623 North 49th Place
  12.  **     Scottsdale, AZ 85254
  13.  * and published in the net comp.sources.misc newsgroup in early July
  14.  * since the BSD banner program works quite differently.
  15.  *
  16.  * There is no copyright or responsibility accepted for the use
  17.  * of this software.
  18.  *
  19.  * Brian Wallis, brw@jim.odr.oz, 4 July 1988
  20.  *
  21.  *****************************************************************/
  22.  
  23. #include <string.h>
  24. #include <stdio.h>
  25.  
  26. char *glyphs[] = {
  27.           "         @@@  @@   @@  @ @   @@@@@          @@     @@@  ",
  28.           "         @@@  @@   @@  @ @  @  @  @@@   @  @  @    @@@  ",
  29.           "         @@@   @   @ @@@@@@@@  @   @@  @    @@      @   ",
  30.           "          @            @ @   @@@@@    @    @@@     @    ",
  31.           "                     @@@@@@@   @  @  @    @   @ @       ",
  32.           "         @@@           @ @  @  @  @ @  @@ @    @        ",
  33.           "         @@@           @ @   @@@@@ @   @@  @@@@ @       ",
  34.  
  35.           "   @@    @@                                            @",
  36.           "  @        @   @   @    @                             @ ",
  37.           " @          @   @ @     @                            @  ",
  38.           " @          @ @@@@@@@ @@@@@   @@@   @@@@@           @   ",
  39.           " @          @   @ @     @     @@@                  @    ",
  40.           "  @        @   @   @    @      @            @@@   @     ",
  41.           "   @@    @@                   @             @@@  @      ",
  42.  
  43.           "  @@@     @    @@@@@  @@@@@ @      @@@@@@@ @@@@@ @@@@@@@",
  44.           " @   @   @@   @     @@     @@    @ @      @     @@    @ ",
  45.           "@   @ @ @ @         @      @@    @ @      @          @  ",
  46.           "@  @  @   @    @@@@@  @@@@@ @@@@@@@ @@@@@ @@@@@@    @   ",
  47.           "@ @   @   @   @            @     @       @@     @  @    ",
  48.           " @   @    @   @      @     @     @ @     @@     @  @    ",
  49.           "  @@@   @@@@@ @@@@@@@ @@@@@      @  @@@@@  @@@@@   @    ",
  50.  
  51.           " @@@@@  @@@@@          @@@      @           @     @@@@@ ",
  52.           "@     @@     @  @@@    @@@     @             @   @     @",
  53.           "@     @@     @  @@@           @     @@@@@     @        @",
  54.           " @@@@@  @@@@@@         @@@   @                 @     @@ ",
  55.           "@     @      @         @@@    @     @@@@@     @     @   ",
  56.           "@     @@     @  @@@     @      @             @          ",
  57.           " @@@@@  @@@@@   @@@    @        @           @       @   ",
  58.  
  59.           " @@@@@    @   @@@@@@  @@@@@ @@@@@@ @@@@@@@@@@@@@@ @@@@@ ",
  60.           "@     @  @ @  @     @@     @@     @@      @      @     @",
  61.           "@ @@@ @ @   @ @     @@      @     @@      @      @      ",
  62.           "@ @ @ @@     @@@@@@@ @      @     @@@@@@  @@@@@  @  @@@@",
  63.           "@ @@@@ @@@@@@@@     @@      @     @@      @      @     @",
  64.           "@     @@     @@     @@     @@     @@      @      @     @",
  65.           " @@@@@ @     @@@@@@@  @@@@@ @@@@@@ @@@@@@@@       @@@@@ ",
  66.  
  67.           "@     @  @*@        @@    @ @      @     @@     @@@@@@@@",
  68.           "@     @   @         @@   @  @      @@   @@@@    @@     @",
  69.           "@     @   @         @@  @   @      @ @ @ @@ @   @@     @",
  70.           "@@@@@@@   @         @@@@    @      @  @  @@  @  @@     @",
  71.           "@     @   @   @     @@  @   @      @     @@   @ @@     @",
  72.           "@     @   @   @     @@   @  @      @     @@    @@@     @",
  73.           "@     @  @@@   @@@@@ @    @ @@@@@@@@     @@     @@@@@@@@",
  74.  
  75.           "@@@@@@  @@@@@ @@@@@@  @@@@@ @@@@@@@@     @@     @@     @",
  76.           "@     @@     @@     @@     @   @   @     @@     @@  @  @",
  77.           "@     @@     @@     @@         @   @     @@     @@  @  @",
  78.           "@@@@@@ @     @@@@@@@  @@@@@    @   @     @@     @@  @  @",
  79.           "@      @   @ @@   @        @   @   @     @ @   @ @  @  @",
  80.           "@      @    @ @    @ @     @   @   @     @  @ @  @  @  @",
  81.           "@       @@@@ @@     @ @@@@@    @    @@@@@    @    @@ @@ ",
  82.  
  83.           "@     @@     @@@@@@@@ @@@@@ @       @@@@@    @          ",
  84.           " @   @  @   @      @  @      @          @   @ @         ",
  85.           "  @ @    @ @      @   @       @         @  @   @        ",
  86.           "   @      @      @    @        @        @               ",
  87.           "  @ @     @     @     @         @       @               ",
  88.           " @   @    @    @      @          @      @               ",
  89.           "@     @   @   @@@@@@@ @@@@@       @ @@@@@        @@@@@@@",
  90.  
  91.           "  @@@                                                   ",
  92.           "  @@@     @@   @@@@@   @@@@  @@@@@  @@@@@@ @@@@@@  @@@@ ",
  93.           "   @     @  @  @    @ @    @ @    @ @      @      @    @",
  94.           "    @   @    @ @@@@@  @      @    @ @@@@@  @@@@@  @     ",
  95.           "        @@@@@@ @    @ @      @    @ @      @      @  @@@",
  96.           "        @    @ @    @ @    @ @    @ @      @      @    @",
  97.           "        @    @ @@@@@   @@@@  @@@@@  @@@@@@ @       @@@@ ",
  98.  
  99.           "                                                        ",
  100.           " @    @    @        @ @    @ @      @    @ @    @  @@@@ ",
  101.           " @    @    @        @ @   @  @      @@  @@ @@   @ @    @",
  102.           " @@@@@@    @        @ @@@@   @      @ @@ @ @ @  @ @    @",
  103.           " @    @    @        @ @  @   @      @    @ @  @ @ @    @",
  104.           " @    @    @   @    @ @   @  @      @    @ @   @@ @    @",
  105.           " @    @    @    @@@@  @    @ @@@@@@ @    @ @    @  @@@@ ",
  106.  
  107.           "                                                        ",
  108.           " @@@@@   @@@@  @@@@@   @@@@   @@@@@ @    @ @    @ @    @",
  109.           " @    @ @    @ @    @ @         @   @    @ @    @ @    @",
  110.           " @    @ @    @ @    @  @@@@     @   @    @ @    @ @    @",
  111.           " @@@@@  @  @ @ @@@@@       @    @   @    @ @    @ @ @@ @",
  112.           " @      @   @  @   @  @    @    @   @    @  @  @  @@  @@",
  113.           " @       @@@ @ @    @  @@@@     @    @@@@    @@   @    @",
  114.  
  115.           "                       @@@     @     @@@   @@    @ @ @ @",
  116.           " @    @  @   @ @@@@@@ @        @        @ @  @  @ @ @ @ ",
  117.           "  @  @    @ @      @  @        @        @     @@ @ @ @ @",
  118.           "   @@      @      @  @@                 @@        @ @ @ ",
  119.           "   @@      @     @    @        @        @        @ @ @ @",
  120.           "  @  @     @    @     @        @        @         @ @ @ ",
  121.           " @    @    @   @@@@@@  @@@     @     @@@         @ @ @ @"
  122. };
  123.  
  124. int main(argc, argv)
  125. /* [<][>][^][v][top][bottom][index][help] */
  126. int argc;
  127. char *argv[];
  128. {
  129.   int a, b, c, len, ind;
  130.   char line[80];
  131.  
  132.   for (argv++; --argc; argv++) {
  133.         len = strlen(*argv);
  134.         if (len > 10) len = 10;
  135.         for (a = 0; a < 7; a++) {
  136.                 for (b = 0; b < len; b++) {
  137.                         if ((ind = (*argv)[b] - ' ') < 0) ind = 0;
  138.                         for (c = 0; c < 7; c++) {
  139.                                 line[b * 8 + c] = glyphs[(ind / 8 * 7) + a][(ind % 8 * 7) + c] == '@' ? ind + ' ' : ' ';
  140.                         }
  141.                         line[b * 8 + 7] = ' ';
  142.                 }
  143.                 for (b = len * 8 - 1; b >= 0; b--) {
  144.                         if (line[b] != ' ') break;
  145.                         line[b] = '\0';
  146.                 }
  147.                 printf("%s\n", line);
  148.         }
  149.         printf("\n");
  150.   }
  151.   return(0);
  152. }
  153.